home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / comm / net / XdccGet.lha / XdccGet.amirx < prev    next >
Text File  |  1998-01-07  |  6KB  |  204 lines

  1. /*      $VER: XdccGet.AMIRX 3.01 (7.1.98) Button XDCC Requestor Clean Version
  2. */
  3.  
  4. /*  Welcome to XDCC Get, What is it? Well with the new feature of Amirc 1.53
  5.     Button room is no longer a problem, So make use of the button features.
  6.  
  7.     XDCC Get makes it easier to request files for someones XDCC list no more
  8.     typing the long XDCC command just select the user, click a button,
  9.     select or enter a number, and the request is sent......
  10.  
  11.     This script is Mail-ware, if you use it EMail me and tell me what you 
  12.     think for improvements, etc...
  13.  
  14.     For v2.1 and previous:
  15.     IRC  Bossman^    Email: bosman@erols.com  Web:www.erols.com/bosman
  16.  
  17.     More of my Amirc scripts can be found on my Homepage.
  18.  
  19.     For v3.0 and onwards:
  20.     IRC  lanky       Email: sykoe@sub.net.au
  21.  
  22.     I thank Bossman^ again for him letting me to expand XdccGet further.
  23.  
  24.     v3.01 Added: /Msg Xdcc Support for Other Xdcc platforms.
  25.                  Cleaned Up Code.
  26.                  More And Better Key ShortCuts.
  27.                  Warning Of No RexxReqTools/Nick Given Now Works.
  28.                  (Warning doesn't work as a button due to AmIRC)
  29.                  Clean Output (Hidden /CTCP & /Msg version)
  30.                  Better Presented Generally.
  31.  
  32.     Setup:  Make sure RexxReqTools.library is in your LIBS: assign.
  33.             If you do not have this get the newest version from Aminet:
  34.             util/libs/ReqToolsUsr.lha
  35.  
  36.             Make a button in AmIRC: Settings-Setup-Actions
  37.             select a empty button position and enter XdccGet
  38.             then /Rx XdccGet.amirx %u  then save
  39.  
  40.             Move XdccGet.amirx to the Amirc/Rexx dir
  41.  
  42.             If you wish; make an alias in AmIRC: Settings-Lists-Alias
  43.             XdccGet /Rx XdccGet.amirx
  44.  
  45.  
  46.      Usage: /Rx XdccGet.amirx {nick}
  47.  
  48. */
  49. /*----------------------------Program Starts Below-------------------------*/
  50. options results
  51. "INFO screen"
  52. pubs='"'result'"'
  53. IF ~Show(L,'rexxreqtools.library') THEN DO
  54.   IF ~AddLib('rexxreqtools.library',0,-30,0) THEN DO
  55.         'Echo Unable To Open RexxReqTools.library'
  56.         sEcho('Unable To Open RexxReqTools.library')
  57.         Exit
  58.         End
  59.   End
  60. NL = '0a'x
  61. CTCP = '01'x
  62. BOLD = '02'x
  63. OPTIONS RESULTS
  64. PARSE ARG nick
  65. IF nick='' THEN DO
  66.   sEcho('Choose a Nick to use XDCC Get on.')
  67.   Exit
  68.   End
  69. Start()
  70. Exit
  71.  
  72.  
  73.  
  74. Start:
  75. call rtezrequest( "Welcome to XDCC Get CTCP Window, You're requesting information from  `" ||nick||"'"  || NL ||,
  76.                   "O - Requests a list and opens the pack GUI" || NL ||,
  77.                   "L - Requests a list and Quits" || NL ||,
  78.                   "P - Goes to pack request menu" || NL ||,
  79.                   "M - Goes to XDCC Get msg menu",,
  80.                   "List&_Open GUI|_List&Quit|_Pack|_Msg|_About|_Cancel" , 'XDCC Get CTCP Menu', ' rt_pubscrname='pubs 'rt_reqpos = reqpos_centerscr')
  81. IF rtresult == 0 THEN DO
  82.   sEcho('XDCC GUI Cancelled.')
  83.   Exit
  84.   End
  85.  
  86. IF rtresult == 1 THEN DO
  87. /*  'Say /CTCP' nick 'XDCC List' */
  88.   "RAW PRIVMSG "nick" :"CTCP"XDCC List"CTCP
  89.   sEcho(BOLD'CTCP XDCC List sent to 'nick'.'BOLD)
  90. SendType="C"
  91. Get()
  92. Exit
  93. End
  94.  
  95. IF rtresult == 2 THEN DO
  96. /*  'Say /CTCP' nick 'XDCC List' */
  97.   "RAW PRIVMSG "nick" :"CTCP"XDCC List"CTCP
  98.   sEcho(BOLD'CTCP XDCC List sent to 'nick'.'BOLD)
  99. Exit
  100. End
  101.  
  102. IF rtresult == 3 THEN DO
  103. SendType="C"
  104. Get()
  105. Exit
  106. End
  107.  
  108. IF rtresult == 4 THEN DO
  109. SendType="M"
  110. Msg()
  111. Exit
  112. End
  113.  
  114. IF rtresult == 5 THEN
  115. About()
  116. Start()
  117. Exit
  118. End
  119.  
  120.  
  121. Msg:
  122. call rtezrequest( "Welcome to XDCC Get Msg Window, You're requesting information from  `" ||nick||"'"  || NL ||,
  123.                   "O - Requests a list and opens the pack GUI" || NL ||,
  124.                   "L - Requests a list and Quits" || NL ||,
  125.                   "P - Goes to pack request menu" || NL ||,
  126.                   "C - Goes back to the XDCC Get CTCP menu",,
  127.                   "List&_Open GUI|_List&Quit|_Pack|_CTCP|_About|_Cancel" , 'XDCC Get Msg Menu', ' rt_pubscrname='pubs 'rt_reqpos = reqpos_centerscr')
  128. IF rtresult == 0 THEN DO
  129.   sEcho('XDCC GUI Cancelled.')
  130.   Exit
  131.   End
  132.  
  133. IF rtresult == 1 THEN DO
  134. /*  'Say /Msg' nick 'XDCC List' */
  135.   "RAW PRIVMSG "nick" :XDCC List"
  136.   sEcho(BOLD'Msg XDCC List sent to 'nick'.'BOLD)
  137. Get()
  138. Exit
  139. End
  140.  
  141. IF rtresult == 2 THEN DO
  142.   "RAW PRIVMSG "nick" :XDCC List"
  143.   sEcho(BOLD'Msg XDCC List sent to 'nick'.'BOLD)
  144. Exit
  145. End
  146.  
  147. IF rtresult == 3 THEN DO
  148. Get()
  149. Exit
  150. End
  151.  
  152. IF rtresult == 4 THEN DO
  153. Start()
  154. Exit
  155. End
  156.  
  157. IF rtresult == 5 THEN
  158. About()
  159. Msg()
  160. Exit
  161. End
  162.  
  163.  
  164.  
  165. Get:
  166. call rtezrequest( "Pick the XDCC pack number to request from  `" ||nick||"'"  || NL ||,
  167. "Select Input to request a higher number   " || NL ||,
  168. "Pressing Return will choose manual input.",,
  169. "_1|_2|_3|_4|_5|_6|_7|_8|_9|1_0|11|12|13|15|_Input", 'Pack Request Window', 'rtez_defaultresponse = 0 rt_pubscrname='pubs 'rt_reqpos = reqpos_centerscr')
  170.  
  171. xdccnum = rtresult
  172.  
  173. IF rtresult = 0 THEN DO
  174.       xdccnum = rtgetlong(, , "Enter XDCC pack # to get from  `" ||nick|| "':" , ,'rt_pubscrname='pubs 'rt_reqpos = reqpos_centerscr')
  175. IF rtresult == 0 THEN DO
  176.   sEcho('XDCC GUI Cancelled.')
  177.   Exit
  178.   End
  179.  End
  180.  
  181. IF SendType = "C" THEN DO
  182. /*  'Say /CTCP' nick 'XDCC Send #'xdccnum */
  183.   "RAW PRIVMSG "nick" :"CTCP"XDCC Send #"xdccnum CTCP
  184.   sEcho(BOLD'CTCP XDCC Send request for pack #'xdccnum' to 'nick' sent.'BOLD)
  185.   End
  186. ELSE DO
  187. /*  'Say /Msg' nick 'XDCC Send #'xdccnum */
  188.   "RAW PRIVMSG "nick" :XDCC Send #"xdccnum
  189.   sEcho(BOLD'Msg XDCC Send request for pack #'xdccnum' to 'nick' sent.'BOLD)
  190.   End
  191. Exit
  192. End
  193.  
  194.  
  195. About:
  196. call rtezrequest( "Welcome to XDCC Get. Any comments ideals email me(lanky):" || NL ||,
  197.                     "sykoe@sub.net.au  I would like to know what you think.", "OK", , ' rt_pubscrname='pubs 'rt_reqpos = reqpos_centerscr')
  198. Return(0)
  199.  
  200. sEcho:
  201.   IF arg(1)~='' then 'ECHO P='d2c(27)'b«XDCC-Get» 'arg(1)
  202. Return(0)
  203.  
  204.